//home模块的小仓库---四部分 state mutations actions getters
import { reqCategory, reqBanner, reqFloor } from "@/api";
//state存储数据的地方
const state = {
    //将来要存储的商品分类的数据,起始值为空数组！起始数值不要瞎写，看服务器返回数据格式
    list: [],
    bannerList: [],
    floorList: []
};
//mutations:唯一可以修改仓库数据的地方
const mutations = {
    GETCATEGORY(state, list) {
        //仓库存储服务器数据
        state.list = list;
    },
    GETBANNER(state, bannerList) {
        state.bannerList = bannerList;
    },
    GETFLOOR(state, floorList) {
        state.floorList = floorList;
    }
};
//actions:可以书写业务、逻辑
const actions = {
    //'经理地方':处理业务、书写逻辑、异步语句地方【if、ajax、定时器、延迟器....】
    //向服务器发请求,将服务器的数据存储于仓库,能书写异步语句的地方----只有ations这里
    async getCategory({ state, commit, dispatch }) {
        let result = await reqCategory();
        //result:是服务器返回对象,身上code==200代表状态码200,代表成功
        if (result.code == 200) {
            commit('GETCATEGORY', result.data);
        }
    },
    //获取首页轮播图数据
    async getBanner({ state, commit, dispatch }) {
        let result = await reqBanner();
        if (result.code == 200) {
            commit('GETBANNER', result.data);
        }
    },
    //获取楼层组件的数据
    async getFloor({ state, commit, dispatch }) {
        let result = await reqFloor();
        //服务器状态码返回200
        if (result.code == 200) {
            commit('GETFLOOR', result.data);
        }
    }

};
//计算属性getters
const getters = {};
//对外暴露小仓库
export default {
    //命名空间
    namespaced: true,
    state,
    mutations,
    actions,
    getters,
}


